#!/bin/bash
# **********************************************************
# * Author : liangliangsu
# * Email : sll917@hotmail.com
# * Create time : 2022-10-19 10:48
# * Filename : 08awk_条件表达式.sh
# **********************************************************
: '
1,awk的逻辑运算字符
既然有需要用到 "条件" 的类别，自然就需要一些逻辑运算啰～例如底下这些：
运算单元	 代表意义
>		 大于
< 		 小于
>= 		 大于或等于
<= 		 小于或等于
==		 等于
!= 		 不等于
值得注意的是那个『== 』的符号，因为：
 逻辑运算上面亦即所谓的大于、小于、等于等判断式上面，习惯上是以『== 』来表示；
 如果是直接给予一个值，例如变量设定时，就直接使用= 而已。!
 '
awk -F":" '$1=="sll"{print $3}' /etc/passwd 
awk -F":" '{if($1=="sll") print $3}' /etc/passwd          #与上面相同
awk -F":" '$1!="sll"{print $3}' /etc/passwd                 #不等于
awk -F":" '$3>1000{print $3}' /etc/passwd                      #大于
awk -F":" '$3>=100{print $3}' /etc/passwd                     #大于等于
awk -F":" '$3<1{print $3}' /etc/passwd                            #小于
awk -F":" '$3<=1{print $3}' /etc/passwd                         #小于等于

: '
2,awk的逻辑运算字符
&&　||
'
echo '(1)-----------------------完美分割线--------------------------------'
awk -F: '$1~/mail/ && $3>7 {print }' /etc/passwd         #逻辑与，$1匹配mail，并且$3>7
echo '(2)-----------------------完美分割线--------------------------------'
awk -F: '{if($1~/mail/ && $3>7) print }' /etc/passwd
echo '(3)-----------------------完美分割线--------------------------------'
awk -F: '$1~/mail/ || $3>1000 {print }' /etc/passwd       #逻辑或
echo '(4)-----------------------完美分割线--------------------------------'
awk -F: '{if($1~/mail/ || $3>1000) print }' /etc/passwd
echo '(5)-----------------------完美分割线--------------------------------'
#过滤第一列大于2并且第二列等于’Are’的行:
awk '$1>2 && $2=="Are" {print $1,$2,$3}' test.txt    #命令
